﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum КлючиАналитики
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"289eb4fd-d299-485e-a6da-858e4eeb339a\", \"Представление\":\"АналитикаВидаУчета\"}")]
		АналитикаВидаУчета = 0,//Аналитика вида учета
		[EnumMember(Value = "{\"Ссылка\":\"4e41d4d5-4bb5-4603-8103-1400ce908b9e\", \"Представление\":\"АналитикаРаспределенияЗатрат\"}")]
		АналитикаРаспределенияЗатрат = 1,//Аналитика распределения затрат
		[EnumMember(Value = "{\"Ссылка\":\"a4e2b539-0c05-4ff4-a285-835e11726743\", \"Представление\":\"АналитикаУчетаЗатрат\"}")]
		АналитикаУчетаЗатрат = 2,//Аналитика учета затрат
		[EnumMember(Value = "{\"Ссылка\":\"6db97775-2654-4e9f-a882-aa2b5f68bc64\", \"Представление\":\"АналитикаУчетаПартий\"}")]
		АналитикаУчетаПартий = 3,//Аналитика учета партий
		[EnumMember(Value = "{\"Ссылка\":\"2c970e88-2051-4906-a6ca-1e04d9b4886d\", \"Представление\":\"АналитикаУчетаПрочихЗатрат\"}")]
		АналитикаУчетаПрочихЗатрат = 4,//Аналитика учета прочих затрат
	}
	public static partial class КлючиАналитики_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid АналитикаВидаУчета = new Guid("8e85daa6-eb4e-9a33-485e-d299289eb4fd");//Аналитика вида учета
		public static readonly Guid АналитикаРаспределенияЗатрат = new Guid("00140381-90ce-9e8b-4603-4bb54e41d4d5");//Аналитика распределения затрат
		public static readonly Guid АналитикаУчетаЗатрат = new Guid("5e8385a2-7211-4367-4ff4-0c05a4e2b539");//Аналитика учета затрат
		public static readonly Guid АналитикаУчетаПартий = new Guid("2baa82a8-685f-64bc-4e9f-26546db97775");//Аналитика учета партий
		public static readonly Guid АналитикаУчетаПрочихЗатрат = new Guid("041ecaa6-b4d9-6d88-4906-20512c970e88");//Аналитика учета прочих затрат
		public static КлючиАналитики Получить(this КлючиАналитики Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static КлючиАналитики Получить(this КлючиАналитики Значение, Guid Ссылка)
		{
			if(Ссылка == АналитикаВидаУчета)
			{
				return КлючиАналитики.АналитикаВидаУчета;
			}
			else if(Ссылка == АналитикаРаспределенияЗатрат)
			{
				return КлючиАналитики.АналитикаРаспределенияЗатрат;
			}
			else if(Ссылка == АналитикаУчетаЗатрат)
			{
				return КлючиАналитики.АналитикаУчетаЗатрат;
			}
			else if(Ссылка == АналитикаУчетаПартий)
			{
				return КлючиАналитики.АналитикаУчетаПартий;
			}
			else if(Ссылка == АналитикаУчетаПрочихЗатрат)
			{
				return КлючиАналитики.АналитикаУчетаПрочихЗатрат;
			}
			return КлючиАналитики.ПустаяСсылка;
		}
		public static byte[] Ключ(this КлючиАналитики Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this КлючиАналитики Значение)
		{
			switch (Значение)
			{
				case КлючиАналитики.АналитикаВидаУчета: return АналитикаВидаУчета;
				case КлючиАналитики.АналитикаРаспределенияЗатрат: return АналитикаРаспределенияЗатрат;
				case КлючиАналитики.АналитикаУчетаЗатрат: return АналитикаУчетаЗатрат;
				case КлючиАналитики.АналитикаУчетаПартий: return АналитикаУчетаПартий;
				case КлючиАналитики.АналитикаУчетаПрочихЗатрат: return АналитикаУчетаПрочихЗатрат;
			}
			return Guid.Empty;
		}
	}
}